#pragma once

#include "CEventArgs.h"

class CErrorEventArgs :
	public CEventArgs
{
public: 
	enum ErrorType m_eType;
	XUINT32 m_iErrorCode;
	HRESULT m_xResult;
	CXString * m_pstrErrorMessage;
	virtual ~CErrorEventArgs();
	static HRESULT Create(CDependencyObject * * ppObject, CREATEPARAMETERS * pCreate);
	virtual XUINT32 GetTypeIndex() const;
	virtual HRESULT GetValue(CDependencyProperty * pdp, CValue * pValue);
	HRESULT UpdateErrorMessage(XINT32 bReplaceExistingMessage);

protected: 
	CErrorEventArgs(CCoreServices *);
};

